5  Lezione 6,7 - 09/10, 10/10

Esempio

Calcoliamo la cosine similarity tra 3 documenti

Sia data la seguente tabella:

\begin{pmatrix}Termini & Doc1 & Doc2 & Doc3 \\ affection & 115 & 58 & 20 \\ jealous & 10 & 7 & 11 \\ gossip & 2 & 0 & 6 \\ wuthering & 0 & 0 & 38\end{pmatrix}

Calcolo la log frequency weighting:

affection in Doc1 = 1 + log(115) = 3.06

jealous in Doc1 = 1 + log(10) = 2

e così via

\begin{pmatrix}Termini & Doc1 & Doc2 & Doc3 \\ affection & 3.06 & 2.76 & 2.30 \\ jealous & 2.00 & 1.85 & 2.04 \\ gossip & 1.30 & 0 & 1.78 \\ wuthering & 0 & 0 & 2.58 \end{pmatrix}

Normalizzo la lunghezza dei vettori:

affection in Doc1 = \dfrac{3.06}{\sqrt{3.06^2 + 2^2 + 1.3^2}} = 0.789

e così via

\begin{pmatrix}Termini & Doc1 & Doc2 & Doc3 \\ affection & 0.789 & 0.832 & 0.524 \\ jealous & 0.515 & 0.555 & 0.465 \\ gossip & 0.335 & 0 & 0.405 \\ wuthering & 0 & 0 & 0.588 \end{pmatrix}

Sono pronto a calcolare la cosine similarity:

cos(Doc1, Doc2) = 0.789 \cdot 0.832 + 0.515 \cdot 0.555 + 0.335 \cdot 0.0 + 0.0 \cdot 0.0 = 0.94

e così via

5.1 WordNet

  • Wordnet è un’ontologia linguistica top-level, ovvero fornisce una conoscenza generica e non specifica di un determinato dominio.
  • Ispirandosi alla memoria lessicale umana, l’organizzazione del lessico si suddivide in nomi, verbi, aggettivi e avverbi.
  • Una parola è un’associazione fra una word form ed una word meaning, dove per word form si intende l’espressione fisica della parola, ovvero la stringa che la descrive, per word meaning si intende il significato sottinteso (lessicale) della parola.
    • A tutti gli effetti Wordnet realizza il mapping tra word form e word meaning, che potremmo rappresentare con una matrice
  • Una word form è polisemica se ad essa possono essere associate più word meaning.
  • Due word form sono sinonimi se ad esse è associata la stessa word meaning.
  • Ogni word meaning è rappresentata dall’insieme delle word form che possono essere usate per esprimerla, ovvero un synset (synonym set)
    • Ad esempio, data la word meaning a small racket with a long handle used for playing squash, il suo synset è costituito da squash racket, squash racquet, bat
    • Un synset associato ad una word form consente all’utente di inferire la semantica della word form in esame purché conosca la semantica di almeno una word form elencata nel synset.
    • Quando si effettua la ricerca di una parola, Wordnet restituisce tutti i sinonimi, ordinati in maniera decrescente per rilevanza, con relativa glossa ed eventuale frase esemplificativa.
  • L’elenco dei significati di una parola è definito come sense inventory
    • Ogni significato è memorizzato mediante un codice, che funge da chiave primaria nel dizionario di WordNet
  • I significati dei synset (NON le parole) sono collegati attraverso diversi tipi di relazioni chiaramente definite. Definiamo le relazioni che regolano i legami dei sostantivi
    • Relazione is_a: considerando Wordnet come un albero di synset, esso può quindi svilupparsi verso l’alto per iperonimia (generalizzazione), da “gatto” si passa a “felino”, oppure verso il basso, iponimia (specializzazione), da “roditore” si passa a “topo”.
    • Relazione part-of: questa relazione può collegare una parte con il tutto, in questo caso si parla di meronimia, oppure il tutto con una parte, in questo caso si parla di olonimia. Ad esempio, “ala” è un meronimo di “pipistrello”, in quanto l’ala è una parte del pipistrello, mentre “pipistrello” è un olonimo di “ala” in quanto un pipistrello è costituito dall’ala.
    • In base all’albero di generalizzazione si può capire quanto vicino sia un concetto alla parola cercata (misura di similarità semantica), utilizzando ad esempio la Leacock Chodorow Similarity: il path più breve è dato dal numero di archi tra il concetto di partenza e quello di destinazione passando per il least common ancestor, mentre il path massimo è dato dal doppio della profondità dell’albero, il tutto smussato e normalizzato utilizzando la funzione logaritmo

Esempio

The white cat is hunting the mouse

Scegliamo cat da disambiguare e mouse come termine di contesto.

Siano N il numero di nodi del percorso da cat a mouse, e D la massima profondità della tassonomia. Consideriamo D = 16

SINSIM(cat, mouse) = -\log\left(\dfrac{N}{2D}\right) = -\log\left(\dfrac{5}{32}\right) = 0.806

Risultato: cat e mouse sono abbastanza vicini

flowchart LR
Mammal --> Carnivore
Mammal --> Rodent
Carnivore --> Feline
Rodent --> Mouse
Feline --> Cat

Domande tipiche

  1. Come è organizzata la conoscenza in WordNet?

Bozza di risposta: Parole divise come nella memoria lessicale dell’uomo, matrice con word form e word meaning, polisemia, sinonimia, …

  1. Come sono organizzate le relazioni in WordNet?

Bozza di risposta: Parlare in generale di WordNet, andare nello specifico nelle relazioni